#ifndef KOPIETHREAD_H
#define KOPIETHREAD_H
//
#include <QThread>
#include <QDebug>
#include <QStringList>
//#include <QSettings>
//#include <QString>
#include <QDir>
#include <QDebug>
//#include <QFileDialog>
#include <QMessageBox>
#include <QFileInfoList>
#include <QListIterator>
#include <QDateTime>
#include <QSettings>
//#include <QPixmap>

//
class KopieThread : public QThread
{
	Q_OBJECT
signals:
	void Sig_BildKopiert(QString datei, QString restzeit, const QImage &image);
	void Sig_FilmKopiert(QString datei, QString restzeit);
	void Sig_DateiGeloescht(QString datei, QString restzeit);
	void Sig_Fehler(QString fehlerliste);
private:
	int zaehler;
	QSize BildvorschauGroesse;
	bool Bildvorschau;
	QString Filmname;
	int Filmnummer;
	QString Bildname;
	bool DatumsOrdner;
	int Bildnummer;
	QString PfadFilmeDst;
	QString PfadBilderDst;
	QString sFehler;
	bool DateienKopieren(bool verschieben);
	bool cancel;
	//0 = Nichts tun
	//1 = Dateiliste Einlesen
	//2 = Kopieren
	//3 = Verschieben
	int Action;
	QString PfadSrc;
	void DirEinlesen(QString dir);
	void DateilisteEinlesen();
	QStringList DateiListeBilder;
	QStringList DateiListeFilme;
	QStringList DateiListeLoeschen;
	QString FilterlisteBilder;
	QString FilterlisteFilme;
	QString FilterlisteLoeschen;
public:
	int getLoeschenCount();
	int getZaehler();
	void setBildvorschauGroesse(QSize value);
	void setBildvorschau(bool value);
	int getFilmnummer();
	int getBildnummer();
	void setFilmname(QString value);
	void setFilmnummer(int value);
	void setBildname(QString value);
	void setDatumsOrdner(bool value);
	void setBildnummer(int value);
	void setPfadFilmeDst(QString value);
	void setPfadBilderDst(QString value);
	int getGesammtCount();
	bool isEmpty();
	//value = Aktionsnummer in Thread
	void stop(int value);
	int getFilmeCount();
	int getBilderCount();
	int getAction();
	void setAction(int value);
	void setPfadSrc(QString value);
	QString getPfadSrc();
	void run();
	KopieThread();
	
};
#endif
